﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace AirlineCommon
{
    public interface IAirlineServices
    {
        //Trả về thông tin chi tiết trong bảng Sector và lưu vào Sector Class
        Sector GetSectorDetail(string description);
        //Trả về danh sách chuyến bay trong bảng ScheduledFlights và lưu vào mảng Flight Class
        List<Flight> GetFlightList(Sector sector);
        //Factory Method
        TravelClass CreateTravelClass(AirlineFactory factory);
        //Factory Method
        PassengerCommon CreatePassenger(AirlineFactory factory);
        //Trả về PNRNo kết tiếp trong bảng Passengers
        string GeneratePNRNo();
        //Đặt vé
        bool ReserTicket(PassengerCommon passenger, Ticket ticket, TravelClass travel,Flight flight);
        //Hủy vé
        bool CancelReservation(PassengerCommon passenger, float amountPaid, TravelClass travelClass);
        //Trả về thông tin chi tiết về hạng vé (Class)trong bảng Passenger theo PNRNo 
        string GetPassengerClassByPNRNo(string PNRno);
        //Trả về số tiền đã trả cho khách hàng theo PNRNo, thông tin được lấy ra từ bảng Daillycollections
        float GetRefundAmount(string PNRNo);
        //Trả về số tiền đặt vé cảu khách hàng theo PNRNo, thông tin được lấy ra từ bảng Daillycollections
        float GetFareAmount(string PNRNo);
        //Lấy thông tin từ bảng ScheduledFlights và lưu vào DataSet
        DataSet GetScheduleFlightList();
    }
}
